home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Power 1997 December
/
MACPOWER-1997-12.ISO.7z
/
MACPOWER-1997-12.ISO
/
AMUG
/
PROGRAMMING
/
Raven 1.2 Examples.sit
/
Raven 1.2 Examples
/
Quill
/
Source
/
WindowDrawEditor.cpp
< prev
next >
Wrap
Text File
|
1997-02-20
|
5KB
|
160 lines
/*
* File: WindowDrawEditor.h
* Summary: A view that knows how to edit a TWindow's drawing info.
* Written by: Jesse Jones
*
* Copyright ゥ 1996 Jesse Jones.
* For conditions of distribution and use, see copyright notice in ZTypes.h
*
* Change History (most recent first):
*
* <-> 12/24/96 JDJ Created
*/
#include "WindowDrawEditor.h"
#include <ZColorSwatch.h>
#include <ZControl.h>
#include <ZTextBox.h>
// ===================================================================================
// class CEditWindowDrawCommand
// ===================================================================================
//---------------------------------------------------------------
//
// CEditWindowDrawCommand::~CEditWindowDrawCommand
//
//---------------------------------------------------------------
CEditWindowDrawCommand::~CEditWindowDrawCommand()
{
}
//---------------------------------------------------------------
//
// CEditWindowDrawCommand::CEditWindowDrawCommand
//
//---------------------------------------------------------------
CEditWindowDrawCommand::CEditWindowDrawCommand(TWindow* pane, const SWindowInfo& oldInfo, const SWindowInfo& newInfo) : Inherited(pane, oldInfo, newInfo)
{
}
//---------------------------------------------------------------
//
// CEditWindowDrawCommand::UpdatePane
//
//---------------------------------------------------------------
void CEditWindowDrawCommand::UpdatePane(const SWindowInfo& newInfo)
{
SWindowInfo info = mPane->GetInfo();
info.attr.showNew = newInfo.attr.showNew;
info.attr.startOnPreferred = newInfo.attr.startOnPreferred;
info.attr.autoPosition = newInfo.attr.autoPosition;
info.attr.eraseOnUpdate = newInfo.attr.eraseOnUpdate;
info.attr.color = newInfo.attr.color;
mPane->SetInfo(info);
}
#pragma mark -
// ===================================================================================
// CWindowDrawEditor
// ===================================================================================
static TReanimatorRegister<CWindowDrawEditor> sWindowDrawEditorRegistrar;
//---------------------------------------------------------------
//
// CWindowDrawEditor::~CWindowDrawEditor
//
//---------------------------------------------------------------
CWindowDrawEditor::~CWindowDrawEditor()
{
}
//---------------------------------------------------------------
//
// CWindowDrawEditor::CWindowDrawEditor
//
//---------------------------------------------------------------
CWindowDrawEditor::CWindowDrawEditor(TView* superView) : Inherited(superView)
{
}
//---------------------------------------------------------------
//
// CWindowDrawEditor::Create [static]
//
//---------------------------------------------------------------
MReanimatable* CWindowDrawEditor::Create(MReanimatable* parent)
{
return new CWindowDrawEditor(dynamic_cast<TView*>(parent));
}
//---------------------------------------------------------------
//
// CWindowDrawEditor::GetEditorInfo
//
//---------------------------------------------------------------
SWindowInfo CWindowDrawEditor::GetEditorInfo() const
{
SWindowInfo info;
TControl* control = nil;
TColorSwatch* swatch = nil;
control = dynamic_cast<TControl*>(this->FindSubPane("Position"));
info.attr.autoPosition = (EAutoPosition) control->GetValue();
control = dynamic_cast<TControl*>(this->FindSubPane("Show New"));
info.attr.showNew = control->GetValue();
control = dynamic_cast<TControl*>(this->FindSubPane("Start on Preferred"));
info.attr.startOnPreferred = control->GetValue();
control = dynamic_cast<TControl*>(this->FindSubPane("Erase on Update"));
info.attr.eraseOnUpdate = control->GetValue();
swatch = dynamic_cast<TColorSwatch*>(this->FindSubPane("Color"));
info.attr.color = swatch->GetColor();
return info;
}
//---------------------------------------------------------------
//
// CWindowDrawEditor::SetEditorInfo
//
//---------------------------------------------------------------
void CWindowDrawEditor::SetEditorInfo(const SWindowInfo& info)
{
TControl* control = nil;
TColorSwatch* swatch = nil;
control = dynamic_cast<TControl*>(this->FindSubPane("Position"));
control->SetValue(info.attr.autoPosition);
control = dynamic_cast<TControl*>(this->FindSubPane("Show New"));
control->SetValue(info.attr.showNew);
control = dynamic_cast<TControl*>(this->FindSubPane("Start on Preferred"));
control->SetValue(info.attr.startOnPreferred);
control = dynamic_cast<TControl*>(this->FindSubPane("Erase on Update"));
control->SetValue(info.attr.eraseOnUpdate);
swatch = dynamic_cast<TColorSwatch*>(this->FindSubPane("Color"));
swatch->SetColor(info.attr.color);
}